<?php

class LaureatoDao extends Dao {
	//! A constructor
	/**
	* Constructs the LogDao
	* @param $da instance of the DataAccess class
	*/
	function StudenteDao ( & $da ) 
	{
		Dao::Dao($da);
	}
	
	function & searchAll () 
	{
		$sql='SELECT
  "Laureato"."Matricola", 
  "Laureato"."Tesi", 
  "Laureato"."Cognome", 
  "Laureato"."Email", 
  "Laureato"."Data di nascita", 
  "Laureato"."Relatore", 
  "Laureato"."Nome", 
  "Laureato"."Anno immatricolazione"
FROM 
  public."Laureato"
  ORDER BY
  "Laureato"."Matricola" ASC;';

		return $this->retrieve($sql);
	}
	
	function & updateLaureato($matricola, $nome, $cognome, $email, $data_nascita, $relatore, $immatricolazione, $tesi){

		$sql='UPDATE "Laureato"
   SET  
  "Tesi"= \''.$tesi. '\',
  "Cognome"= \''.$cognome. '\', 
  "Email"= \''.$email. '\', 
  "Data di nascita"= \''.$data_nascita. '\', 
  "Relatore"= \''.$relatore. '\', 
  "Nome"= \''.$nome. '\', 
  "Anno immatricolazione"= \''.$immatricolazione. '\'
   WHERE "Matricola"= \''.$matricola.'\';';
		
		return $this->update($sql);
	}
	
	function & deleteLaureato($matricola){

		$sql='DELETE FROM "Laureato"
 WHERE "Matricola"=\''.$matricola.'\';';
	
		return $this->retrieve($sql);

	}
	
	function & searchByMatricola ($matricola)
	 {
		$sql='SELECT 
  "Laureato"."Matricola", 
  "Laureato"."Tesi", 
  "Laureato"."Cognome", 
  "Laureato"."Email", 
  "Laureato"."Data di nascita", 
  "Laureato"."Relatore", 
  "Laureato"."Nome", 
  "Laureato"."Anno immatricolazione"
	FROM 
  	public."Laureato"
	WHERE "Matricola"= '.$matricola.';';
		
		return $this->retrieve($sql);
	}
	
	function & getLaureatoByNomeCognome ($nomecognome)
	 {
	 	$split= explode(' ',$nomecognome);
		$sql='SELECT 
  "Laureato"."Matricola", 
  "Laureato"."Tesi", 
  "Laureato"."Cognome", 
  "Laureato"."Email", 
  "Laureato"."Data di nascita", 
  "Laureato"."Relatore", 
  "Laureato"."Nome", 
  "Laureato"."Anno immatricolazione"
	FROM 
  	public."Laureato"
	WHERE "Laureato"."Matricola"<>0';
	foreach ($split as $vara){
  $sql.=' AND ("Laureato"."Nome" LIKE \'%'.$vara.'%\'  OR 
  "Laureato"."Cognome" LIKE \'%'.$vara.'%\')';	
	}
	 $sql.=';';
		return $this->retrieve($sql);
	}

	function & totalRows () 
	{
		$sql="SELECT count(*) as count FROM Laureato";
		return $this->retrieve($sql);
	}
	

}
	
?>